package top.healthylife.gateway.platform.eye.dto.zengzhifuwu.EyeReqNewsDto.req;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import top.healthylife.gateway.dto.annotation.ApiField;
import top.healthylife.gateway.dto.processor.GroupOneMustBeFilledInProcessor;
import top.healthylife.gateway.dto.request.req.ApiReqDto;

import javax.validation.constraints.NotNull;

/**
* @author: GenUtil
* @date: 2020-12-11 23:39:03
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("新闻舆情[943]")
public class EyeReqNewsDto extends ApiReqDto {

    @ApiField(value = "公司名称（精确匹配）", group = GroupOneMustBeFilledInProcessor.class)
    @NotNull(message = "公司名称（精确匹配）")
    @JsonProperty("name")
    @ApiModelProperty(value = "公司名称（精确匹配）", example = "北京百度网讯科技有限公司")
    private String name;

    @ApiField(value = "公司id", group = GroupOneMustBeFilledInProcessor.class)
    @NotNull(message = "公司id）")
    @JsonProperty("id")
    @ApiModelProperty(value = "公司id", example = "22822")
    private String id;

    @ApiField("条数（最大20）")
    @JsonProperty("pageSize")
    @ApiModelProperty(value = "条数（最大20）", example = "20")
    private Integer pageSize = 20;

    @ApiField(value = "开始时间", necessity = true)
    @JsonProperty("startTime")
    @ApiModelProperty(value = "开始时间", example = "20191020")
    private String startTime;

    @ApiField(value = "结束时间", necessity = true)
    @JsonProperty("endTime")
    @ApiModelProperty(value = "结束时间", example = "20191022")
    private String endTime;

    @ApiField(value = "页数（默认第一页）", necessity = true)
    @JsonProperty("pageNum")
    @ApiModelProperty(value = "页数（默认第一页）", example = "1")
    private Integer pageNum = 1;

    @ApiField("标签（多个逗号分隔，默认返回全部，标签内容参考文档tags.pdf）")
    @JsonProperty("tags")
    @ApiModelProperty(value = "标签（多个逗号分隔，默认返回全部，标签内容参考文档tags.pdf）", example = "债务抵押,经营业务")
    private String tags;

}
